Week 2 - Blink Using OS
Main Page
Modules
Data Structures
Files
File List
Globals
tm4c123gh6pm_startup_css.c
Go to the documentation of this file.
1
2
/**************************************************
3
* Texas A&M University
4
* Electronic Systems Engineering Technology
5
* ENTC-489 Embedded Real Time Software Development
6
* Author: willey
7
* File: tm4c123gh6pm_startup_css.c
8
**************************************************/
16
#include <stdint.h>
17
#include "inc/hw_types.h"
18
#include "uC-LIB\lib_def.h"
19
#include "uCOS-II\Source\os.h"
20
21
/**************************************************/
25
/**************************************************/
26
27
//*****************************************************************************
28
//
29
// External declaration for the reset handler that is to be called when the
30
// processor is started
31
//
32
//*****************************************************************************
33
extern
void
_c_int00(
void
);
34
35
extern
uint32_t __STACK_TOP;
36
37
//*****************************************************************************
38
//
39
// Forward declaration of the default fault handlers.
40
//
41
//*****************************************************************************
42
static
void
App_Reset_ISR(
void
);
43
static
void
App_NMI_ISR(
void
);
44
static
void
App_Fault_ISR(
void
);
45
static
void
App_MemFault_ISR(
void
);
46
static
void
App_BusFault_ISR(
void
);
47
static
void
App_UsageFault_ISR(
void
);
48
static
void
App_Spurious_ISR(
void
);
49
50
//*****************************************************************************
51
//
52
// The vector table. Note that the proper constructs must be placed on this to
53
// ensure that it ends up at physical address 0x0000.0000 or at the start of
54
// the program if located at a start address other than 0.
55
//
56
//*****************************************************************************
57
#pragma DATA_SECTION(g_pfnVectors, ".intvecs")
58
void (*
const
g_pfnVectors[])(void) =
59
{
60
(void (*)(void))((uint32_t)&__STACK_TOP),
/* 0, SP start value. */
61
App_Reset_ISR,
/* 1, PC start value. */
62
App_NMI_ISR,
/* 2, NMI. */
63
App_Fault_ISR,
/* 3, Hard Fault. */
64
App_MemFault_ISR,
/* 4, Memory Management. */
65
App_BusFault_ISR,
/* 5, Bus Fault. */
66
App_UsageFault_ISR,
/* 6, Usage Fault. */
67
App_Spurious_ISR,
/* 7, Reserved. */
68
App_Spurious_ISR,
/* 8, Reserved. */
69
App_Spurious_ISR,
/* 9, Reserved. */
70
App_Spurious_ISR,
/* 10, Reserved. */
71
App_Spurious_ISR,
/* 11, SVCall. */
72
App_Spurious_ISR,
/* 12, Debug Monitor. */
73
App_Spurious_ISR,
/* 13, Reserved. */
74
OS_CPU_PendSVHandler,
/* 14, PendSV Handler. */
75
OS_CPU_SysTickHandler,
/* 15, uC/OS-III Tick ISR Handler. */
76
77
App_Spurious_ISR,
/* 16, INTISR[ 0] GPIO Port A. */
78
App_Spurious_ISR,
/* 17, INTISR[ 1] GPIO Port B. */
79
App_Spurious_ISR,
/* 18, INTISR[ 2] GPIO Port C. */
80
App_Spurious_ISR,
/* 19, INTISR[ 3] GPIO Port D. */
81
App_Spurious_ISR,
/* 20, INTISR[ 4] GPIO Port E. */
82
App_Spurious_ISR,
/* 21, INTISR[ 5] UART0. */
83
App_Spurious_ISR,
/* 22, INTISR[ 6] UART1. */
84
App_Spurious_ISR,
/* 23, INTISR[ 7] SSI0. */
85
App_Spurious_ISR,
/* 24, INTISR[ 8] I2C0. */
86
App_Spurious_ISR,
/* 25, INTISR[ 9] PWM Fault. */
87
App_Spurious_ISR,
/* 26, INTISR[ 10] PWM Generator 0. */
88
App_Spurious_ISR,
/* 27, INTISR[ 11] PWM Generator 1. */
89
App_Spurious_ISR,
/* 28, INTISR[ 12] PWM Generator 2. */
90
App_Spurious_ISR,
/* 29, INTISR[ 13] QEI0. */
91
App_Spurious_ISR,
/* 30, INTISR[ 14] ADC0 Sequence 0. */
92
App_Spurious_ISR,
/* 31, INTISR[ 15] ADC0 Sequence 1. */
93
App_Spurious_ISR,
/* 32, INTISR[ 16] ADC0 Sequence 2. */
94
App_Spurious_ISR,
/* 33, INTISR[ 17] ADC0 Sequence 3. */
95
App_Spurious_ISR,
/* 34, INTISR[ 18] Watchdog Timers 0 and 1. */
96
App_Spurious_ISR,
/* 35, INTISR[ 19] 16/32-Bit Timer 0A. */
97
App_Spurious_ISR,
/* 36, INTISR[ 20] 16/32-Bit Timer 0B. */
98
App_Spurious_ISR,
/* 37, INTISR[ 21] 16/32-Bit Timer 1A. */
99
App_Spurious_ISR,
/* 38, INTISR[ 22] 16/32-Bit Timer 1B. */
100
App_Spurious_ISR,
/* 39, INTISR[ 23] 16/32-Bit Timer 2A. */
101
App_Spurious_ISR,
/* 40, INTISR[ 24] 16/32-Bit Timer 2B. */
102
App_Spurious_ISR,
/* 41, INTISR[ 25] Analog Comparator 0. */
103
App_Spurious_ISR,
/* 42, INTISR[ 26] Analog Comparator 1. */
104
App_Spurious_ISR,
/* 43, INTISR[ 27] Analog Comparator 2. */
105
App_Spurious_ISR,
/* 44, INTISR[ 28] System Control. */
106
App_Spurious_ISR,
/* 45, INTISR[ 29] Flash Memory Control. */
107
App_Spurious_ISR,
/* 46, INTISR[ 30] GPIO Port F. */
108
App_Spurious_ISR,
/* 47, INTISR[ 31] GPIO Port G. */
109
App_Spurious_ISR,
/* 48, INTISR[ 32] GPIO Port H. */
110
App_Spurious_ISR,
/* 49, INTISR[ 33] UART2. */
111
App_Spurious_ISR,
/* 50, INTISR[ 34] SSI1. */
112
App_Spurious_ISR,
/* 51, INTISR[ 35] 16/32-Bit Timer 3A. */
113
App_Spurious_ISR,
/* 52, INTISR[ 36] 16/32-Bit Timer 3B. */
114
App_Spurious_ISR,
/* 53, INTISR[ 37] I2C1. */
115
App_Spurious_ISR,
/* 54, INTISR[ 38] CAN0. */
116
App_Spurious_ISR,
/* 55, INTISR[ 39] CAN1. */
117
App_Spurious_ISR,
/* 56, INTISR[ 40] Ethernet MAC. */
118
App_Spurious_ISR,
/* 57, INTISR[ 41] HIB(Power Island). */
119
App_Spurious_ISR,
/* 58, INTISR[ 42] USB MAC. */
120
App_Spurious_ISR,
/* 59, INTISR[ 43] PWM Generator 3. */
121
App_Spurious_ISR,
/* 60, INTISR[ 44] uDMA 0 Software. */
122
App_Spurious_ISR,
/* 61, INTISR[ 45] uDMA 0 Error. */
123
App_Spurious_ISR,
/* 62, INTISR[ 46] ADC1 Sequence 0. */
124
App_Spurious_ISR,
/* 63, INTISR[ 47] ADC1 Sequence 1. */
125
App_Spurious_ISR,
/* 64, INTISR[ 48] ADC1 Sequence 2. */
126
App_Spurious_ISR,
/* 65, INTISR[ 49] ADC1 Sequence 3. */
127
App_Spurious_ISR,
/* 66, INTISR[ 50] EPI0. */
128
App_Spurious_ISR,
/* 67, INTISR[ 51] GPIO Port J. */
129
App_Spurious_ISR,
/* 68, INTISR[ 52] GPIO Port K. */
130
App_Spurious_ISR,
/* 69, INTISR[ 53] GPIO Port L. */
131
App_Spurious_ISR,
/* 70, INTISR[ 54] SSI2. */
132
App_Spurious_ISR,
/* 71, INTISR[ 55] SSI3. */
133
App_Spurious_ISR,
/* 72, INTISR[ 56] UART3. */
134
App_Spurious_ISR,
/* 73, INTISR[ 57] UART4. */
135
App_Spurious_ISR,
/* 74, INTISR[ 58] UART5. */
136
App_Spurious_ISR,
/* 75, INTISR[ 59] UART6. */
137
App_Spurious_ISR,
/* 76, INTISR[ 60] UART7. */
138
App_Spurious_ISR,
/* 77, INTISR[ 61] I2C 2. */
139
App_Spurious_ISR,
/* 78, INTISR[ 62] I2C 3. */
140
App_Spurious_ISR,
/* 79, INTISR[ 63] Timer 4A. */
141
App_Spurious_ISR,
/* 80, INTISR[ 64] Timer 4B. */
142
App_Spurious_ISR,
/* 81, INTISR[ 65] Timer 5A. */
143
App_Spurious_ISR,
/* 82, INTISR[ 66] Timer 5B. */
144
App_Spurious_ISR,
/* 83, INTISR[ 67] FP Exception(imprecise). */
145
146
App_Spurious_ISR,
/* 84, INTISR[ 68] Reserved. */
147
App_Spurious_ISR,
/* 85, INTISR[ 69] Reserved. */
148
149
App_Spurious_ISR,
/* 86, INTISR[ 70] I2C 4. */
150
App_Spurious_ISR,
/* 87, INTISR[ 71] I2C 5. */
151
App_Spurious_ISR,
/* 88, INTISR[ 72] GPIO Port M. */
152
App_Spurious_ISR,
/* 89, INTISR[ 73] GPIO Port N. */
153
154
App_Spurious_ISR,
/* 90, INTISR[ 74] Reserved. */
155
156
App_Spurious_ISR,
/* 91, INTISR[ 75] Tamper. */
157
App_Spurious_ISR,
/* 92, INTISR[ 76] GPIO Port P(Summary or P0). */
158
App_Spurious_ISR,
/* 93, INTISR[ 77] GPIO Port P1. */
159
App_Spurious_ISR,
/* 94, INTISR[ 78] GPIO Port P2. */
160
App_Spurious_ISR,
/* 95, INTISR[ 79] GPIO Port P3. */
161
App_Spurious_ISR,
/* 96, INTISR[ 80] GPIO Port P4. */
162
App_Spurious_ISR,
/* 97, INTISR[ 81] GPIO Port P5. */
163
App_Spurious_ISR,
/* 98, INTISR[ 82] GPIO Port P6. */
164
App_Spurious_ISR,
/* 99, INTISR[ 83] GPIO Port P7. */
165
App_Spurious_ISR,
/* 100, INTISR[ 84] GPIO Port Q(Summary or Q0). */
166
App_Spurious_ISR,
/* 101, INTISR[ 85] GPIO Port Q1. */
167
App_Spurious_ISR,
/* 102, INTISR[ 86] GPIO Port Q2. */
168
App_Spurious_ISR,
/* 103, INTISR[ 87] GPIO Port Q3. */
169
App_Spurious_ISR,
/* 104, INTISR[ 88] GPIO Port Q4. */
170
App_Spurious_ISR,
/* 105, INTISR[ 89] GPIO Port Q5. */
171
App_Spurious_ISR,
/* 106, INTISR[ 90] GPIO Port Q6. */
172
App_Spurious_ISR,
/* 107, INTISR[ 91] GPIO Port Q7. */
173
App_Spurious_ISR,
/* 108, INTISR[ 92] GPIO Port R. */
174
App_Spurious_ISR,
/* 109, INTISR[ 93] GPIO Port S. */
175
App_Spurious_ISR,
/* 110, INTISR[ 94] SHA/MD5. */
176
App_Spurious_ISR,
/* 111, INTISR[ 95] AES. */
177
App_Spurious_ISR,
/* 112, INTISR[ 96] DES. */
178
App_Spurious_ISR,
/* 113, INTISR[ 97] LCD. */
179
App_Spurious_ISR,
/* 114, INTISR[ 98] 16/32-Bit Timer 6A. */
180
App_Spurious_ISR,
/* 115, INTISR[ 99] 16/32-Bit Timer 6B. */
181
App_Spurious_ISR,
/* 116, INTISR[100] 16/32-Bit Timer 7A. */
182
App_Spurious_ISR,
/* 117, INTISR[101] 16/32-Bit Timer 7B. */
183
App_Spurious_ISR,
/* 118, INTISR[102] I2C 6. */
184
App_Spurious_ISR,
/* 119, INTISR[103] I2C 7. */
185
186
App_Spurious_ISR,
/* 120, INTISR[104] Reserved. */
187
188
App_Spurious_ISR,
/* 121, INTISR[105] 1-Wire. */
189
190
App_Spurious_ISR,
/* 122, INTISR[106] Reserved. */
191
App_Spurious_ISR,
/* 123, INTISR[107] Reserved. */
192
App_Spurious_ISR,
/* 124, INTISR[108] Reserved. */
193
194
App_Spurious_ISR,
/* 125, INTISR[109] I2C 8. */
195
App_Spurious_ISR,
/* 126, INTISR[110] I2C 9. */
196
App_Spurious_ISR
/* 127, INTISR[111] GPIO T. */
197
};
198
199
/***********************************************************************
200
** Procedure: App_Reset_ISR
201
** Arguments: void
202
** Returns: static void
203
** Description: Jumps to CCS C initialization routine
204
***********************************************************************/
205
static
void
App_Reset_ISR (
void
)
206
{
207
__asm(
" .global _c_int00\n"
208
" b.w _c_int00"
);
209
}
/* App_Reset_ISR() */
210
211
/***********************************************************************
212
** Procedure: App_NMI_ISR
213
** Arguments: void
214
** Returns: static void
215
** Description: Non-Maskable Interrupt handler (place holder for now)
216
***********************************************************************/
217
static
void
App_NMI_ISR (
void
)
218
{
219
while
(1)
220
{
221
/* stop here and wait to get noticed */
222
}
223
}
/* App_NMI_ISR() */
224
225
/***********************************************************************
226
** Procedure: App_Fault_ISR
227
** Arguments: void
228
** Returns: static void
229
** Description: Handle an unexpected hard fault by waiting around
230
***********************************************************************/
231
static
void
App_Fault_ISR (
void
)
232
{
233
while
(1)
234
{
235
/* stop here and wait to get noticed */
236
}
237
}
/* App_Fault_ISR() */
238
239
/***********************************************************************
240
** Procedure: App_BusFault_ISR
241
** Arguments: void
242
** Returns: static void
243
** Description: Handle a bus fault by waiting around
244
***********************************************************************/
245
static
void
App_BusFault_ISR (
void
)
246
{
247
while
(1)
248
{
249
/* stop here and wait to get noticed */
250
}
251
}
/* App_BusFault_ISR() */
252
253
/***********************************************************************
254
** Procedure: App_UsageFault_ISR
255
** Arguments: void
256
** Returns: static void
257
** Description: Handle a usage fault by waiting around
258
***********************************************************************/
259
static
void
App_UsageFault_ISR (
void
)
260
{
261
while
(1)
262
{
263
/* stop here and wait to get noticed */
264
}
265
}
/* App_UsageFault_ISR() */
266
267
/***********************************************************************
268
** Procedure: App_MemFault_ISR
269
** Arguments: void
270
** Returns: static void
271
** Description: Handle a memory fault by waiting around
272
***********************************************************************/
273
static
void
App_MemFault_ISR (
void
)
274
{
275
while
(1)
276
{
277
/* stop here and wait to get noticed */
278
}
279
}
/* App_MemFault_ISR() */
280
281
/***********************************************************************
282
** Procedure: App_Spurious_ISR
283
** Arguments: void
284
** Returns: static void
285
** Description: Handle an unexpected interrupt by hanging around
286
***********************************************************************/
287
static
void
App_Spurious_ISR (
void
)
288
{
289
while
(1)
290
{
291
/* stop here and wait to get noticed */
292
}
293
}
/* App_Spurious_ISR() */
294
295
296
297
/**************************************************/
299
/* Close of Doxygen group Interrupts
300
**************************************************/
Generated on Mon Feb 2 2015 20:06:10 for Week 2 - Blink Using OS by
1.8.9.1